Aspects of the disclosures herein generally relate to the field of data storage, and, more particularly, to clustered storage systems.
A clustered storage system typically includes two or more clusters of one or more nodes. Clustered storage systems can be used to maintain a flexible architecture while also providing high availability (i.e., redundancy). Consider an example clustered storage system comprising two clusters with each cluster comprising two nodes. The first cluster is geographically located near a group of users (e.g., a company's office building) while the second cluster is geographically located a significant distance from the group of users (e.g., several hundred miles away). The clusters employ synchronization such that the data stored in the second cluster mirrors the data in the first cluster. For example, if the first cluster receives a write operation and associated data, the first cluster writes the data to storage devices associated with the first cluster. The first cluster also replicates the write operation to the second cluster, allowing the second cluster to perform the same operation. The second cluster thus writes the data to storage devices associated with the second cluster. If the first cluster becomes unavailable to the users (e.g., suffers a failure resulting in the first cluster being inaccessible), the users can access the second cluster instead. Because all changes to data are replicated to the second cluster, the second cluster can take the place of the first cluster until the first cluster is available again.